#pragma once

#include <iostream>                  // for std::cout
#include <utility>                   // for std::pair
//#include <algorithm>                 // for std::for_each
#include <boost/graph/graph_traits.hpp>
#include <boost/graph/adjacency_list.hpp>

#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/graph/adj_list_serialize.hpp>


#include <stdio.h>
#include <fstream>
#include <stdlib.h>
#include <time.h>


using namespace boost;



typedef adjacency_list< vecS, vecS, undirectedS,no_property,no_property,no_property,listS > UndirectedGraph; 
namespace aal_sieckolejowa{
	class Generator
	{
	public:
		Generator();
		Generator(int min_branches, int max_branches, int num_verticles, const char* file_name);
		~Generator(void);

	private:
		void save(const char*);
		// Polaczenia miedzy stacjami beda reprezentowane przez graf nieskierowany

		//typedef std::pair<int, int> Edge;

	};
}